home *** CD-ROM | disk | FTP | other *** search
/ Carousel / CAROUSEL.cdr / mactosh / code / p_serlib.sit / Serial Library Source Code / serial.open.dll.c < prev    next >
C/C++ Source or Header  |  1989-07-27  |  2KB  |  74 lines

  1. /***********************************************************************/
  2. /*    
  3. /*    serial.open.dll.c
  4. /*    by Atul Butte
  5. /*    Copyright ⌐ 1989 by Microsoft Corporation
  6. /*    All Rights Reserved
  7. /*
  8. /*    version 1.0
  9. /*    
  10. /*    
  11. /*    This CALL/REGISTER opens a serial port for communication.
  12. /*    
  13. /*    Excel usage:
  14. /*    
  15. /*    = Register( "serial library", "serial.open", "IH" )
  16. /*    = Call( ref, portNumber )
  17. /*    
  18. /*    where
  19. /*        portNumber        = number of port (1 = modem, 2 = printer)
  20. /*    
  21. /***********************************************************************/
  22.  
  23. /***********************************************************************/
  24. /*
  25. /*    D E F I N E S
  26. /*
  27. /***********************************************************************/
  28.  
  29. #define ROUTINE_NAME    "serial.open"
  30. #define hNIL 0L
  31. #define pNIL 0L
  32.  
  33. /***********************************************************************/
  34. /*
  35. /*    I N C L U D E S
  36. /*
  37. /***********************************************************************/
  38.  
  39. #include "serial.h"
  40. #include "error.h"
  41.  
  42. /***********************************************************************/
  43. /*
  44. /*    main
  45. /*
  46. /***********************************************************************/
  47.  
  48. pascal short main( port )
  49.     unsigned short            port;                    /* serial port to use */
  50. {
  51.     register OSErr            err;                    /* result code from Toolbox routines */
  52.     
  53.     RememberA0();
  54.     SetUpA4();
  55.     
  56.     if( port == 1 ) {
  57.         port = sPortA;
  58.     } else if( port == 2 ) {
  59.         port = sPortB;
  60.     } else {
  61.         display_error( "Illegal port number." );
  62.         RestoreA4( );
  63.         return( errInvalidPort );
  64.     }
  65.     
  66.     err = RamSDOpen( port );
  67.     if( err != noErr ) {
  68.         display_error( "Error opening port." );
  69.         err = errSerialOpen;
  70.     }
  71.     RestoreA4( );
  72.     return( err );
  73. }
  74.